var searchTable;
var menuLength=getLength("config_page_size");
var btnModel = '    \
	{{#each func}}\
    <button type="button" class="{{this.type}} btn-sm" onclick="{{this.fn}}">{{this.name}}</button>\
    {{/each}}';
	var template = Handlebars.compile(btnModel);
	var dataTableConfig={
			"ordering" : false,// 排序
			"serverSide" : true,// 开启服务器模式
			"scrollX" : true,// 横向滚动
			ajax : {
				"type" : "POST",
				"url" : '../personalConfig/list',//请求路径
				"contentType" : 'application/x-www-form-urlencoded; charset=UTF-8',
				"dataType":"json",
				"data" : function(d){// 查询参数
	            	d.code = $('#codeObj').val();
	            	return d;
	            }
			},
			columns : [// 对应列
	           	{"data" : null,		render : function(data, type, full, meta) {
	           		return '<input type="checkbox" value="' + data.id + '" name="checkbox" />';
				}}, 
	           	{"data" : "code",render : $.fn.dataTable.render.ellipsis(22, true)}, 
				{"data" : "val",render : $.fn.dataTable.render.ellipsis(22, true)}
	           ],
			"columnDefs" : [ {// 所有列默认值
				"targets" : "_all",
				"defaultContent" : ''
				} ],
				"dom" : 'rt<"floatl mt5"l><"floatl mt5"i><"floatr mt5"p><"clear">' ,//生成样式
				"lengthMenu": [
				        menuLength,
				        menuLength
				    ]
	};
	//前台校验参数
	var checkValidator = {
			message: 'This value is not valid',
	        feedbackIcons: {
	            valid: 'glyphicon glyphicon-ok',
	            invalid: 'glyphicon glyphicon-remove',
	            validating: 'glyphicon glyphicon-refresh'
	        },
	        submitHandler: function(validator, form, submitButton) {
	        	var id=submitButton.attr("id");
	    		if(id=="updateBtn"){
	    			update();
	    		}
	        }

	};
	//查询，重新载入表格
	function select() {
		$("#searchTable").dataTable().fnDraw(false)
	}
	//全反选
	function selectAllorNot(){
		if($("#checkAll").is(':checked')){
			$("input[name='checkbox']").prop("checked","checked"); 
		}else{
			$("input[name='checkbox']").removeProp("checked");
		}
	}
	//获取选中记录
	function getCheck(){
		var check=new Array();
		$('input[name="checkbox"]:checked').each(function(){ 
			check.push($(this).val()); 
			}); 
		return check;
	}
	//展现修改区域
	function toUpdate(){
		var check=new Array();
		check=getCheck();
		if(check.length==0){	
			alertModel("请选中一条记录");
			return ;
			}
		if(check.length>1){
			alertModel("请只选中一条记录");
		}
		$.post({
			url:"../personalConfig/selectOne/"+check[0],
			success : function(data){
				$("#configList").hide();
				$("#configInfo").show();
				$("#updateBtn").show();
				console.info(data);
				$("#configIdObj").val(data.id);
				$("#codeObj1").val(data.code);
				$("#valObj").val(data.val);
				var options=data.attrb.split("|");
				for (var i = 0; i < options.length; i++) {
					$("#valObj").append('<option value='+options[i]+'>'+options[i]+'</option>');
				}
			}
		})
	}
	//修改
	function update(){
		var info=$("#configForm").serialize();
		$.post({
			url:"../personalConfig/update",
			dataType : "json",
            data : info, 
			success : function(data){
				alertModel("保存成功");
				resetValidator();
				$("#configList").show();
				$("#configInfo").hide();
				$("#updateBtn").hide();
				select(); 
			}
		})
	}
	//返回
	function back(){
		$("#configList").show();
		$("#configInfo").hide();
		$("#addBtn").hide();
		$("#updateBtn").hide();
		append('<option value='+data.val+' selected="selected" disabled="disabled">'+data.val+'</option>')
		$("#valObj").val();
		$("#valObj").empty();
	}
	//重置校验
	function resetValidator(){
		$("#valObj").empty();
		if($('#configForm').data('bootstrapValidator')){
			$('#configForm').data('bootstrapValidator').resetForm(false);
		}
	}
	$(function() {
		 $("#searchTable").DataTable(dataTableConfig);
		 if(null == $('#configForm').data('bootstrapValidator')) {
				$('#configForm').bootstrapValidator(checkValidator);
			}
	})
